//公共方法-------------------------------------------------------------------
var timer=null;
var oPublic={
     OWNER_RETRIEVE_PASSWORD_GPS:"owner_retrieve_password_gps",//用户忘记密码
     OWNER_REGISTER:"owner_register",//用户注册
     OWNER_CHANGE_MOBILE_GPS:"owner_change_mobile_gps",//修改手机号
     OLD_OWNER_CHANGE_MOBILE_GPS:"old_owner_change_mobile_gps",
     DEL_BIKE:"del_bike",//解除车辆绑定
     VISITOR_LOGIN:"visitor_login",//游客登录
     getServerId:function(mobileText,handle){
        $.ajax({
          type:"get",
          url:oPublic.basePath()+"/s/bike/owner/mapper",
          data:{
            account:mobileText
          },
          success:function(data){
            if(data.opStatus==0){
                 handle&&handle(data.data.contextPath);
                 localStorage.setItem("serverId",data.data.serverId);
            }else{
                 oPublic.pubilcModal(data.msgDesc,"确定");
            }
          },
          error:function(){
              console.log("data is faliure..........");
          }
        })
     },
     //根路径获取
     basePath:function(){
          var localObj = window.location;
          var contextPath = localObj.pathname.split("/")[1];
          var basePath = localObj.protocol + "//" + localObj.host + "/" + contextPath;
          return basePath;
     },
     //获取图片验证码
     getCode:function(opts){
          var basePath=oPublic.basePath();
          $.ajax({
               type:"get",
               url: basePath +"/s/sms/msg/img/validate/code",
               success:function(data){
                    //console.log(data);
                    $(".loading_model").addClass("hide");
                    var url=data.data.img;
                    $(opts).attr("src","data:image/png;base64,"+url);
                    localStorage.setItem("code",data.data.tokenCode);
               },
               error:function(){
                    console.log("error.........")
               }
          })
     },
     //图形验证面页面渲染
     getImgCode:function(opt,events){
          $(opt).on(events,function(){
              oPublic.getCode(opt);
          })
     },
     //短信验证时间定时器
     getShortTime:function(getCodeBtn,modal,codes){
         $(codes).attr("readonly",false);
         $(modal).addClass("hide");//隐藏弹窗
         var total=60;
         clearInterval(timer);
         $(getCodeBtn).html(total+"s后重发").attr("disabled",true).css({"background":"#666"});
              timer=setInterval(function(){
              if(total>1){
                   total--;
                   $(getCodeBtn).html(total+"s后重发").attr("disabled",true).css({"background":"#666"});
                   console.log(total);
              }else{
                   $(getCodeBtn).html("获取验证码").attr("disabled",false).css({"background":"#0c82e6"});
                   clearInterval(timer);
                   return false;
              }
         },1000);
    },
     /*
     发送短信验证
          判断图片验证码是否输入正确？
          a.如果正确关闭弹窗 发送验证
          b.失败则提示错误信息
      */
     //公共弹窗
     pubilcModal:function(title,btns,link){
          btns=btns||"确定";
          var oHtml= '<section class="model" id="publicModal">'+
                       '<div class="Info_mode pCenter txt_center">'+
                           '<h4>'+title+'</h4>'+
                           '<p>'+btns+'</p>'+
                       '</div>'+
                     '</section>';
          $("body").append(oHtml);
          $("#publicModal").on("click","p",function(){
              $(this).parents(".model").remove();
              if(link){AnroidWebActivity.goBack();}
          });
     },
     //文本的错误样式,外框显示红色边框
     errorText:function(eles,errorInfo,className,tagName,eyes){
          $(eles).val("");
          $(eles).attr("placeholder",errorInfo);
          if(tagName){
               //如果传入tagName则考虑祖级
               $(eles).parents(tagName).addClass(className);
          }else{
               //如果传入tagName则考虑祖级
               $(eles).parent().addClass(className);
          }
          $(eyes).removeClass("eye_show_off");  
     },
     //焦点判断，取消警告状况
     focusCancel:function(opts){
          $(opts).focus(function(){
               var correctStatus=$(this).attr("data-correct");
               var oParent=$(this).parent();
               if(oParent.is("dt"))$(this).parent().removeClass("errorMsg");
               $(this).attr("placeholder",correctStatus);
               $(this).parents("dl").removeClass("warn");
          });
         
     },
     //文本的字数判断-----------------------------------------------------
      textNumber:function(opts,btns,mobileText,codesText){
          //键盘抬起判断字数，如果符合规定,则启用下一步按钮-----------------
          $(opts).on("keyup",function(ev){
               ev.preventDefault();
               ev.cancelBubble=true;
               //当两个文本框的文本内容符合规定
               if($(mobileText).val().length==11&&$(codesText).val().length==4){
                   $(btns).attr("disabled",false).addClass("active_status");
               }else{
                  $(btns).attr("disabled",true).removeClass("active_status");
               }
          });

          //文本的字数事件限制[验证码  手机号]----------------------
          $(opts).on("keypress",function(){
              var Value=$(this).val();
              var nums=$(this).attr("data-num");
              if(Value.length>=nums){
                  return false;
              }
          })
      },
      //发送短信
      sendShortInfo:function(mobileText,imgCode,imgBox,getCodeBtn,modal,codeText,smsTPL){
          var basePath=oPublic.basePath();
          var imgCodeText=$(imgCode).val();
          $.ajax({
              type:"get",
              url:basePath+"/s/sms/msg/send/validatecode",
              dataType:"json",
              data:{
                  mobile:mobileText,//手机号码
                  imgCode:imgCodeText,//图形验证码
                  tokenCode:localStorage.getItem("code"),//图片的身份编码
                  smsTplCode:smsTPL
              },
              success:function(data){
                  if(data.opStatus==0){
                      $(".loading_model").addClass("hide");
                      oPublic.pubilcModal(data.msgDesc,"确定");
                      oPublic.getShortTime(getCodeBtn,modal,codeText);
                      console.log("success.....");
                  }else{
                      //错误的信息提示
                       if(data.msgDesc.indexOf("手机号")!=-1){
                            $(".loading_model").addClass("hide");
                            $(modal).addClass("hide");
                            oPublic.errorText("#mobile",data.msgDesc,"warn","dl");
                            return;
                       }
                      oPublic.errorText(imgCode,data.msgDesc,"errorMsg");
                      oPublic.getCode(imgBox);
                  }  
              },
              error:function(){
                console.log("failure..........")
              }
          })
      },
      //密码眼睛---------------------------------
      eyesPassWord:function(eyesBtn,passText){
            //密码与文本的转换
            $(eyesBtn).click(function(){
                    var element=$(this).find("em");
                    var oTxt=$(passText).val();
                    if(element.attr("class").indexOf("active")==-1){
                            $(this).next().attr("type","text");//密码显示
                            element.addClass("active");
                     }else{
                           $(this).next().attr("type","password");//密码关闭
                           element.removeClass("active");
                    }
                    if(oTxt.length>0){
                         if(element.attr("class").indexOf("eye_show_off")==-1){
                            $(this).next().attr("type","password");//密码显示
                            element.addClass("eye_show_off").removeClass("active");
                        }else{
                            $(this).next().attr("type","text");//密码关闭
                            element.addClass("eye_show_on").removeClass("eye_show_off");
                        }
                    }
            });

             //密码与文本的转换  键盘抬起判断状态
            $(passText).keyup(function(){
                 var ele=$(this).siblings("a").find("em");
                 if($(this).val().length>0){
                      if(ele.attr("class").indexOf("active")==-1){
                           $(this).attr("type","password");
                           ele.addClass("eye_show_off");
                          
                      }else{
                           $(this).attr("type","text");
                           ele.addClass("eye_show_on");
                      }
                 }else{
                      ele.removeClass("eye_show_off").removeClass("eye_show_on");
                 }

            });
      },
      //图片验证码弹窗的确认与取消------------------------
                /*1.取消  移除弹窗   2.确定  判断验证码[提示格式错误]*/
      picAlertbox:function(getCodeBtn,closeBtn,sureBtn,imgCodes,telephone,modal,codeText,randomText,smsTPL,bool,handle){
                console.log(smsTPL);
                console.log(bool);
                //点击获取验证码弹出模态框
                oPublic.getImgCode(imgCodes,"touchstart");
                $(getCodeBtn).on("click",function(){
                    var flag=true;
                    var dataPhoneEmpty=$(telephone).data("empty");
                    var dataPhoneError=$(telephone).data("error");
                    var dataReg=new RegExp($(telephone).data("reg"));
                    var oValue=$(telephone).val();

                    //判断手机号是否为空---
                    if(oValue.length==0){
                       oPublic.errorText($(telephone),dataPhoneEmpty,"warn","dl");
                       flag=false;
                       return;
                    }

                    //判断手机号格式是否正确---
                    if(!dataReg.test(oValue)){
                       oPublic.errorText($(telephone),dataPhoneError,"warn","dl");
                       flag=false;
                       return;
                    }

                    //用于更改手机号码回调，判断用户的手机是否时旧手机号码
                    if(handle){
                         var boolSwicth=handle($(telephone).val());
                         flag=boolSwicth;
                    }


                    function getAjaxPwd(){
                         //格式全部输入正确则调用弹框效果-----
                         if(flag){
                              $(".loading_model").removeClass("hide");
                              oPublic.getCode(imgCodes);//公共方法获取图片验证码//获取图形验证码
                              $(modal).removeClass("hide");//隐藏模态框
                              $(randomText).val("");
                              $(randomText).attr("placeholder","输入验证码");
                              $(randomText).parent().removeClass("errorMsg");
                         }
                    }

                    //判断手机号是否已经注册  模态层ID编号------
                     //记录手机号的serverId

                     if(bool){
                          oPublic.getServerId($(telephone).val(),function(){
                               getAjaxPwd();
                          });
                     }else{
                          //格式全部输入正确则调用弹框效果-----
                          getAjaxPwd();
                     }

                });
                //点击取消关闭模态框
                $(closeBtn).on("touchstart",function(){
                     $(modal).addClass("hide");
                });

                //点击确定进行判断
                $(sureBtn).on("touchstart",function(){
                     var empty=$(randomText).attr("data-empty");//图形验证码为空
                     var imgCodeValue=$(randomText).val();//获取文本框图形验证码
                     var phone=$(telephone).val();//手机号码

                     //如果图形验证码为空，则提示信息
                     if(imgCodeValue.length==0){
                        oPublic.errorText(randomText,empty,"errorMsg");
                        return;
                     }

                     $(".loading_model").removeClass("hide");
                     //短信发送------------
                     oPublic.sendShortInfo(phone,randomText,imgCodes,getCodeBtn,modal,codeText,smsTPL);
            });
      },
      //获取公钥和秘钥
      getKeyModule:function(mobileText){
           //回调获取IP地址
          oPublic.getServerId(mobileText,function(contextPath){
               $.ajax({
                    type:"get",
                    url:contextPath+"/s/not/loginaction",
                    dataType:"json",
                    crossDomain:true,
                    success:function(data){
                         if(data.opStatus==0){
                              //储存公钥秘钥到本地-----
                              localStorage.setItem("public_key",data.data.modulus);
                              localStorage.setItem("mi_key",data.data.public_exponent);
                         }else{
                              //未能获取数据提示
                              console.log(data.msgDesc);
                         }
                    },
                    error:function(){
                         console.log("data is faliure");
                    }
               })
          })
      },
      /*
      *   获取加密函数封装
      * */
      getEcyPass:function(mobileText,callback){
          //回调获取IP地址
          oPublic.getServerId(mobileText,function(contextPath){
              $.ajax({
                  type:"get",
                  url:contextPath+"/s/not/loginaction",
                  dataType:"json",
                  crossDomain:true,
                  success:function(data){
                      if(data.opStatus==0){
                          //通过回调函数将数据传输出去-----
                          var public_key=data.data.modulus;//公钥
                          var mi_key=data.data.public_exponent;//秘钥
                          callback&&callback(public_key,mi_key);
                      }else{
                          //未能获取数据提示
                          console.log(data.msgDesc);
                      }
                  },
                  error:function(){
                      console.log("data is faliure");
                  }
              })
          })
      },
       //判断是是andorid还是ios
       isAndroidAndios:function(){
            var u = navigator.userAgent;
            var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
            var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
            if(isiOS){
                 $(".wrap dl input").css({"line-height":"normal","height":"1.35rem"})
            }
            if(isAndroid){
                 $(".wrap dl input").css({"line-height":"normal","height":"1.45rem"})
            }
       },
       //苹果机光标只读模式的问题
       isAppleFocus:function(appleInputFocus){
            $(appleInputFocus).on('focus', function() {
                 $(this).trigger('blur');
            });
            $(appleInputFocus).on('blur', function() {
                 $(this).trigger('focus');
            });
       }
};



oPublic.isAndroidAndios();




























